eb3e60f09616ca211a09cd5cceb993ffd7bc81d1,advanced/src/main/java/org/neo4j/remote/ProtocolService.java,ProtocolService,ProtocolService,#,133
Before Change
// First, try Java 6 API, since it is standardized.
try
{
Class<?> serviceLoaderClass = Class
.forName( "java.util.ServiceLoader" );
Method loadMethod = serviceLoaderClass.getMethod( "load",
Class.class );
@SuppressWarnings( "unchecked" )
final Iterable<Transport> iter = ( ( Iterable<Transport> ) loadMethod
.invoke( null, Transport.class ) );
result = new CheckingIterable()
{
@Override
Iterator<?> provideIterator()
{
return iter.iterator();
}
};
}
catch ( Exception ex )
{
Iterable<Transport> empty = Arrays
.asList( new Transport[ 0 ] );
// If that fails, try the SUN specific Java 5 implementation.
try
{
Class<?> serviceClass = Class.forName( "sun.misc.Service" );
final Method providersMethod = serviceClass.getMethod(
"providers", Class.class );
result = new CheckingIterable()
{
@Override
Iterator<?> provideIterator() throws Exception
{
After Change
ProtocolService()
{
factories = Service.load( Transport.class );
}
private synchronized Transport getSiteFactory( URI resourceUri )